// $Id: clock.h 63 2004-10-22 14:33:20Z jonas $
#ifndef CLOCK_H
#define CLOCK_H

#include "singleton.h"

/**
 * This is the pulse of the simulation. The class is implemented as singleton
 * in order to be accessible to all parts of the simulator that may need it.
 * The clock can tell the (simulation) time and you can make it tick, thus
 * moving forward in time.
 */
class Clock : public Singleton<Clock> {
public:
	//~Clock();

	void tick();
	unsigned int getTime();

	//static const unsigned int m_secondsPerTimeStep = 10;
	static const unsigned int m_secondsPerTimeStep;

protected:
	Clock();
	friend class Singleton<Clock>;

private:
	unsigned int m_time;
};

#endif
